'randomize const maxMatches = 30 const nMatchesPerLine = 10 const cMatchStick = rgb(255, 255, 255) const cMatchEnd = rgb(255, 0, 0) const cBorder = rgb(0, 0, 0) const cBackground = rgb(0, 127, 0) sub drawMatch(nMatch, wMatch, hMatch, nMatchesPerLine, nMatchesPerColumn, margin, flag) y = int((nMatch - 1) / nMatchesPerLine) x = nMatch - 1 - y * nMatchesPerLine x = x * wMatch y = y * hMatch if flag = true then x = x + wMatch / 2 - margin y = y + margin rect x, y, x + 2 * margin, y + hMatch - 2 * margin, cMatchStick filled rect x, y, x + 2 * margin, y + hMatch / 10, cMatchEnd filled rect x, y, x + 2 * margin, y + hMatch / 10, cBorder rect x, y, x + 2 * margin, y + hMatch - 2 * margin, cBorder else rect x, y, x + wMatch, y + hMatch, cBackground filled endif end sub drawScreen(maxMatches, nMatches, nMatchesPerLine, nMatchesPerColumn) wMatch = int(xmax / nMatchesPerLine) hMatch = int((ymax - 3 * textheight("M")) / nMatchesPerColumn) margin = int(wMatch / 10) for i = 1 to maxMatches if i > nMatches then flag = false else flag = true drawMatch i, wMatch, hMatch, nMatchesPerLine, nMatchesPerColumn, margin, flag next i end func getKeyPress(allowedKeys$) repeat repeat key$ = inkey until len(key$) > 0 if key$ >= "a" and key$ <= "z" then key$ = chr$(asc(key$) - 32) until key$ in allowedKeys$ getKeyPress = key$ end func endGame(nMatches, player) key$ = " " if nMatches < 2 then if nMatches = 1 then if player = 1 then name$ = "I" else name$ = "YOU" else if player = 1 then name$ = "YOU" else name$ = "I" endif rect 0, ymax - 3 * textheight("M"), xmax, ymax, 15 filled at 0, ymax - 3 * textheight("M") : print name$ + " WIN !!!" at 0, ymax - 2 * textheight("M") : print "Do you wabt to play again?" key$ = getkeyPress("YN") endif endGame = key$ end nMatches = 2 + int(rnd * (maxMatches - 2)) color 0, 15 cls rect 0, 0, xmax, ymax - 3 * textheight("M"), cBackground filled drawScreen maxMatches, nMatches, nMatchesPerLine, maxMatches / nMatchesPerLine repeat rect 0, ymax - 3 * textheight("M"), xmax, ymax, 15 filled at 0, ymax - 3 * textheight("M") : print "Plese take away 1, 2 or 3 matches..." key$ = getKeyPress("123") rect 0, ymax - 3 * textheight("M"), xmax, ymax - 2 * textheight("M"), 15 filled at 0, ymax - 3 * textheight("M") : print "You took away " + key$ + " match(es)..." nMatches = nMatches - val(key$) if nMatches < 0 then nMatches = 0 drawScreen maxMatches, nMatches, nMatchesPerLine, maxMatches / nMatchesPerLine key$ = endGame(nMatches, 0) if key$ = "Y" then nMatches = 2 + int(rnd * (maxMatches - 2)) drawScreen maxMatches, nMatches, nMatchesPerLine, maxMatches / nMatchesPerLine else if key$ <> "N" then at 0, ymax - 2 * textheight("M") : print "I am thinking..." pause 2 n = int(nMatches / 4) : n = nMatches - n * 4 if n = 0 then key$ = "3" if n = 3 then key$ = "2" if n = 2 then key$ = "1" if n = 1 then key$ = str$(1 + int(rnd * 3)) rect 0, ymax - 2 * textheight("M"), xmax, ymax - textheight("M"), 15 filled at 0, ymax - 2 * textheight("M") : print "I took away " + key$ + " match(es)..." nMatches = nMatches - val(key$) if nMatches < 0 then nMatches = 0 drawScreen maxMatches, nMatches, nMatchesPerLine, maxMatches / nMatchesPerLine pause 2 key$ = endGame(nMatches, 1) if key$ = "Y" then nMatches = 2 + int(rnd * (maxMatches - 2)) drawScreen maxMatches, nMatches, nMatchesPerLine, maxMatches / nMatchesPerLine endif endif endif until key$ = "N" '